package file;

import java.io.File;
import java.io.FileFilter;

/**
 * File提供了一个重载的listFiles方法，允许我们传入一个文件过滤器，该过滤器可以定义好筛选的
 * 条件。因此这个listFiles方法可以利用该过滤器获取符合筛选条件的子项。
 *
 */



public class ListFilesDemo2 {
    public static void main(String[] args) {
        //获取当前目录下名字以"."开始的子项。
        File dir = new File(".");
        if(dir.isDirectory()){
            FileFilter filter = new FileFilter() {
                public boolean accept(File file){
                    String name = file.getName();
                    return name.startsWith(".");
                }
            };
/*
重载的listFiles会将当前目录中每一个子项都经过一次给定的过滤器的accept
方法，并最终仅将返回值为true的所有子项存入数组返回。
注：accept单词的含义为：接受


 */
            File[] subs = dir.listFiles(filter);
            System.out.println("子项一共："+subs.length+"个");
            for(int i=0;i<subs.length;i++){
                System.out.println(subs[i].getName());
            }
        }





















    }
}
